iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0
Software Development

用30天介紹 open source 專案 Ohara 系列 第 14

Day 14 Ohara 的 Cluster 在 Kubernetes 平台上執行(三)

  • 分享至 

  • xImage
  •  

昨天已經介紹了要如何啟動 Kubernetes 的 API Proxy、如何使用 Kubernetes 指令註冊 service 的服務用於 DNS 的解析和 Kubernetes 常使用到的指令。今天主要會介紹要如何在 Ohara 裡使用 Kubernetes 的環境, 建立 Zookeeper Cluster、Broker Cluster 和 Worker Cluster 的服務。

在 Ohara 裡使用 Kubernetes 的環境,操作步驟如下:

1.因為要加快 Ohara Cluster 的建立速度,所以需要先到每台 Kubernetes 的 node 上拉取,建立 cluster container 的 docker image,指令如下:

$ docker pull oharastream/zookeeper:0.7.1 
$ docker pull oharastream/broker:0.7.1 
$ docker pull oharastream/connect-worker:0.7.1 
$ docker pull oharastream/streamapp:0.7.1 

2.啟動 ohara configurator 服務,指定 --k8s 參數,參數後面指定 Kubernetes 的 API Proxy server 的 URL。啟動 Ohara Configurator 服務的指令如下:

$ docker run --rm \ 
                           -p 5000:5000 \ 
                           --add-host node1:10.100.0.126 \ 
                           --add-host node2:10.100.0.127 \ 
                           oharastream/configurator:0.7.1 \ 
                           --port 5000 \ 
                           --hostname 192.168.56.103 \ 
                           --k8s http://10.100.0.126:8080/api/v1 

以上的指令主要是透過使用 docker 的方式啟動服務的 container,因為啟動 configurator 服務的 host 是在 192.168.56.103 的 node 上,所以要指定 --hostname 的參數。另外 --add-host 是要讓 configurator 服務 container 裡面的 /etc/hosts 檔案加上 Kubernetes 的 Node name 和 IP 的對應資訊。

在這裡一定要確認 Kubernetes 的 API Proxy server 有順利啟動,不然在執行建立 Cluster 的服務時會有問題,可以參考 Day 13 的部份。

3.啟動 ohara manager 服務,指令如下:

$ docker run --rm -d -p 5050:5050 oharastream/manager:0.7.1 --port 5050 --configurator http://192.168.56.103:5000/v0 

啟動 Ohara Manager 的指令和使用 SSH 是一樣的,只要指定 configurator 服務的 Restful API URL 就可以了。

4.使用 Browser 輸入以下的 URL,連到 Ohara 的 WebUI:
https://ithelp.ithome.com.tw/upload/images/20190929/20103456H9wjeMvY3U.png

  1. 跟 ssh 版本一樣需要,建立 Node
    https://ithelp.ithome.com.tw/upload/images/20190929/201034564pybFtp6D2.png

這裡有一點要注意,就是 Kubernetes 版本的 name 目前沒有支援輸入 IP 只能輸入 Node Name。如果不知道有哪些 Node name,可以到 Kubernetes 的 master 輸入,以下指令來取得:

$ kubectl get nodes 

Node 建立完成的畫面如下:
https://ithelp.ithome.com.tw/upload/images/20190929/201034562TT1pLVW7Z.png

  1. 建立 Workspace 的方式和之前使用 SSH 的版本是一樣,畫面如下:
    https://ithelp.ithome.com.tw/upload/images/20190929/20103456hK9eROQdTF.png

建立 workspace 過程的畫面如下:
https://ithelp.ithome.com.tw/upload/images/20190929/20103456WkEN0IwcQn.png

完成建立 Workspace 的詳細資訊如下:
https://ithelp.ithome.com.tw/upload/images/20190929/20103456YqAdPwuR7f.png

7.當建立完 Workspace 之後就可以使用 Kubernetes 的指令去查看,Kubernetes 的 Pod 是否有被建立起來,如下:

[root@node1 ~]# kubectl get pods 
NAME                            READY   STATUS    RESTARTS   AGE 
k8soccl-1k9b0r7951-zk-1947b39   1/1     Running   0          7m18s 
k8soccl-cluster00-wk-649d6b0    1/1     Running   0          7m5s 
k8soccl-djyuiytqnq-bk-9dfa33d   1/1     Running   0          7m10s 
  1. 有關於資料流 Pipeline 的操作和使用 SSH 操作是相同的,在這裡就不在做重覆的描述了。可以參考 Day 7

今天已經成功的在 Ohara 裡,使用 Kubernetes 的環境上建立Ohara 的 Zookeepr Cluster、Broker Cluster 和 Worker Cluster 了,並且有確認 Kubernetes 的 Pod 是 Running 的狀態。明天會再繼續介紹 Ohara 使用了 Kubernetes 哪些的 API 。


上一篇
Day 13 Ohara 的 Cluster 在 Kubernetes 平台上執行 (二)
下一篇
Day 15 Ohara 的 Cluster 在 Kubernetes 的平台執行 (四)
系列文
用30天介紹 open source 專案 Ohara 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言